<?php
function __autoload($className)
{
	$directs = array
	(
			"view" => "view",
			"model" => "models", // как бы экшены
			"mapper" => "mappers", // содержит мапперы которые загружают и сохраняют объекты
			"object" => "objects", // содержит объекты с которыми работают экшены
			"registry" => "registry",
	);

	$className = strtolower($className);
	foreach ($directs as $slice => $dir)
	{
		if (is_numeric(strpos($className, $slice)))
		{
			require_once $_SERVER["DOCUMENT_ROOT"] . "/private/" . $dir . "/" . $className . ".php";
			return;
		}
	}
	require_once $_SERVER["DOCUMENT_ROOT"] . "/private/class/" . $className . ".php";
}

function salt($saltLen = 8)
{
	$salt = "";
	while ($saltLen--)
		$salt .= sprintf("%x", rand(0, 15));
	return $salt;
}

function hashPass($pass, $salt = null)
{
	if (empty($salt))
		$salt = salt();
	else
		$salt = substr($salt, -8);
	
	return md5($pass . $salt) . $salt;
}
?>